home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / interfaces3_5.lha / Interfaces / MathIEEEDoubBas.mod < prev    next >
Text File  |  1994-03-05  |  2KB  |  74 lines

  1. (*
  2. (*
  3. **  Amiga Oberon Interface Module:
  4. **  $VER: MathIEEEDoubBas.mod 40.15 (28.12.93) Oberon 3.0
  5. **
  6. **   © 1993 by Fridtjof Siebert
  7. *)
  8. *)
  9.  
  10. MODULE MathIEEEDoubBas;
  11.  
  12. IMPORT
  13.   Exec,
  14.   I   := Intuition,
  15.   ml *:= MathLibrary;
  16.  
  17. CONST
  18.   pi      * = 3.141592653589793D;
  19.  
  20.   twoPi   * = 2 * pi;
  21.   pi2     * = pi / 2;
  22.   pi4     * = pi / 4;
  23.  
  24.   e       * = 2.718281828459045D;
  25.  
  26.   log10   * = 2.302585092994046D;
  27.   fpTen   * = 10.0D;
  28.   fpOne   * = 1.0D;
  29.   fpHalf  * = 0.5D;
  30.   fpZero  * = 0.0D;
  31.  
  32.   mathIEEEDoubBasName * = "mathieeedoubbas.library";
  33.  
  34.  
  35. VAR
  36.  
  37.   base * : ml.MathIEEEBasePtr;
  38.  
  39. (*--- functions in V33 or higher (Release 1.2) ---*)
  40.  
  41. PROCEDURE Fix*  {base,- 30}(x{0} : LONGREAL): LONGINT;
  42. PROCEDURE Flt*  {base,- 36}(x{0} : LONGINT ): LONGREAL;
  43. PROCEDURE Cmp*  {base,- 42}(x{0} : LONGREAL;
  44.                             y{2} : LONGREAL): LONGINT;
  45. PROCEDURE Tst*  {base,- 48}(x{0} : LONGREAL): LONGINT;
  46. PROCEDURE Abs*  {base,- 54}(x{0} : LONGREAL): LONGREAL;
  47. PROCEDURE Neg*  {base,- 60}(x{0} : LONGREAL): LONGREAL;
  48. PROCEDURE Add*  {base,- 66}(x{0} : LONGREAL;
  49.                             y{2} : LONGREAL): LONGREAL;
  50. PROCEDURE Sub*  {base,- 72}(x{0} : LONGREAL;
  51.                             y{2} : LONGREAL): LONGREAL;
  52. PROCEDURE Mul*  {base,- 78}(x{0} : LONGREAL;
  53.                             y{2} : LONGREAL): LONGREAL;
  54. PROCEDURE Div*  {base,- 84}(x{0} : LONGREAL;
  55.                             y{2} : LONGREAL): LONGREAL;
  56. PROCEDURE Floor*{base,- 90}(x{0} : LONGREAL): LONGREAL;
  57. PROCEDURE Ceil* {base,- 96}(x{0} : LONGREAL): LONGREAL;
  58.  
  59.  
  60. (* $OvflChk- $RangeChk- $StackChk- $NilChk- $ReturnChk- $CaseChk- *)
  61.  
  62. BEGIN
  63.   base := Exec.OpenLibrary(mathIEEEDoubBasName,33);
  64.   IF base=NIL THEN
  65.     IF I.DisplayAlert(0,"\x00\x64\x14missing mathieeedoubbas.library\o\o",50) THEN END;
  66.     HALT(20)
  67.   END;
  68.  
  69. CLOSE
  70.   IF base#NIL THEN Exec.CloseLibrary(base) END;
  71.  
  72. END MathIEEEDoubBas.
  73.  
  74.